Dette spørsmålet har allerede svar her: Hvordan returnerer jeg svaret fra et asynkront anrop? (42 svar) Stengt for 5 måneder siden. Så når du kjører følgende kode, er responsen til console.log (ba) udefinert Men når jeg prøver dette i Chrome V8-konsollen, får jeg riktig utgang jeg forventer. Jeg er ikke helt sikker på hva som skjer her. la ba; funksjon Setqa () { (asynkronisering () => { venter på henting ('spørsmål.json') .then (res => res.json ()) .then (async (data) => { ba = venter på data; }); }) (); } Setqa (); console.log (ba); Innholdet i json-filen er følgende: "spørsmål": [{ "questionType": "multiple", "spørsmål": "Hvordan er været", "svar": "", "spørsmål svar": "" }, { "questionType": "multiple", "spørsmål": "Hvordan har du det i dag?", "svar": " 1", "questionAnswer": "textPurpose1" } ]
2021-02-27 08:13:51
Jeg antar at det skal fungere la ba; funksjon Setqa () { returner henting ('spørsmål.json') .then (res => res.json ()) .then (async (data) => { ba = venter på data; }); } Setqa (). Deretter (() => console.log (ba)); Men en bedre tilnærming ville være asynkroniseringsfunksjon setQa () { const res = await fetch ('spørsmål.json'); retur res.json (); } la ba = avvente setQa (); | Er ikke svaret du leter etter? Bla gjennom andre spørsmål merket javascript json fetch console.log eller still ditt eget spørsmål.